package modelo;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.StringTokenizer;

import controlador.ControladorVentanaEquipo;

public class Equipo {
	private String codigo, nombre, anioFundacion, ciudad, estadio;
	private int jJugados, jGanados, jPerdidos;
	private Equipo diferencia;
	private ArrayList<Jugador> jugadores;
	private Jugador jugador;
	
	FileReader fr = null;
	BufferedReader br = null;
	
	public Equipo() {
		super();
		this.jugadores = new ArrayList<Jugador>();
	}
	
	public Equipo(String codigo, String nombre, String anioFundacion, String ciudad,
			String estadio, int jJugados, int jGanados, int jPerdidos) {
		super();
		this.codigo = codigo;
		this.nombre = nombre;
		this.anioFundacion = anioFundacion;
		this.ciudad = ciudad;
		this.estadio = estadio;
		this.jJugados = jJugados;
		this.jGanados = jGanados;
		this.jPerdidos = jPerdidos;
		this.jugadores = new ArrayList<Jugador>();
	}

	public String getCodigo() {
		return codigo;
	}
	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getAnioFundacion() {
		return anioFundacion;
	}
	public void setAnioFundacion(String anioFundacion) {
		this.anioFundacion = anioFundacion;
	}
	public String getCiudad() {
		return ciudad;
	}
	public void setCiudad(String ciudad) {
		this.ciudad = ciudad;
	}
	public String getEstadio() {
		return estadio;
	}
	public void setEstadio(String estadio) {
		this.estadio = estadio;
	}
	public int getjJugados() {
		return jJugados;
	}
	public void setjJugados(int jJugados) {
		this.jJugados = jJugados;
	}
	public int getjGanados() {
		return jGanados;
	}
	public void setjGanados(int jGanados) {
		this.jGanados = jGanados;
	}
	public int getjPerdidos() {
		return jPerdidos;
	}
	public void setjPerdidos(int jPerdidos) {
		this.jPerdidos = jPerdidos;
	}
		
	public ArrayList<Jugador> getJugadores() {
		if (this.contarJugadores() > 0) {
			return this.jugadores;
		}
		else
			return null;
		}
	
	public void setJugadores(ArrayList<Jugador> jugadores) {
		this.jugadores = jugadores;
	}		
	
	public int contarJugadores(){
		return jugadores.size();
	}
	
	public void agregarJugador(Jugador jugador) {
		this.jugadores.add(jugador);
	}
	
	public void asignarJugadores(File fich){
		try {
			fr = new FileReader (fich);
			br = new BufferedReader(fr);
			String linea;
			int i = 0;
			while((linea=br.readLine())!=null){
				StringTokenizer tokens = new StringTokenizer(linea);
				while(tokens.hasMoreTokens()){
					jugador = new Jugador(tokens.nextToken().toString(), tokens.nextToken().toString(), tokens.nextToken().toString(), tokens.nextToken().toString(), tokens.nextToken().toString(), codigo, 0, 0);
					this.agregarJugador(jugador);
					System.out.println(this.getJugadores().get(i).getNombre());
				}
				i++;
			}
		}
		catch(Exception e) {
			e.printStackTrace();
		}
		
		finally{
			try{
				if(null != fr ){
					fr.close();
				}
			}
			catch (Exception x){
				x.printStackTrace();
			}
		}
		
	}
	
	public double Diferencia(Equipo equipo1){
		return ((equipo1.getjGanados() - this.jGanados) + (equipo1.getjPerdidos() - this.jPerdidos)) / 2;

	}

}

